﻿@model GaclibWebPage.Models.GettingStartPageModel

@{
    ViewBag.Title = "GacLib - Getting Started - Step 1";
}
<script type="text/javascript" src="@Url.Content("~/Content/SyntaxHighlighter/scripts/shCore.js")" ></script>
<script type="text/javascript" src="@Url.Content("~/Content/SyntaxHighlighter/scripts/shBrushCpp.js")" ></script>
<link rel="Stylesheet" type="text/css" href="@Url.Content("~/Content/SyntaxHighlighter/styles/shCore.css")" />
<link rel="Stylesheet" type="text/css" href="@Url.Content("~/Content/SyntaxHighlighter/styles/shThemeRDark.css")" />
<tr>
    <td align="left" valign="top" colspan="6">
        <h1>Step 1. @Model.TutorialTitles[0]</h1>
        <p>
            GacUI provides two way to get the source code. The first one is to download the release. The second one is to download the latest source code. If you want to rely on a well tested and stablized GacUI version, use the release. If you want to try some unreleased feature, try the latest source code.
        </p>
        <p>
            The GacUI project hosts in <a href="http://gac.codeplex.com/" target="_blank">http://gac.codeplex.com/</a>. If you don't know how to download them, please go to the <a href="@Url.Action("Download")">DOWNLOAD</a> page.
        </p>
        <p>
            We recommend <strong>Visual Studio 2013</strong> as the IDE to create a GacUI project. If you want to use a Visual Studio whose version is lower than 2013, please download <strong>Windows SDK 8.1</strong>, and use it to compile your GacUI projects.
        </p>
        <p>
            If you don't know how to create a Visual C++ project, please read <a href="http://msdn.microsoft.com/en-us/library/4457htyc.aspx" target="_blank">this MSDN article</a>.
        </p>
        <p>
            After a Visual C++ project is created, add these source files to your project. If you still have trouble getting these files, please read the <a href="@Url.Action("Download")">DOWNLOAD</a> page again.
        </p>
        <p>Here are files that you may need:</p>
        <table class="GuideTable" cellpadding="0" cellspacing="0">
            <tr class="GuideTableHeader">
                <td>Files</td>
                <td>Dependencies</td>
                <td>Description</td>
                <td>g++ 4.8.1 Compatibility</td>
            </tr>
            <tr class="GuideTableBody">
                <td><b>Vlpp.h/cpp</b></td>
                <td>&nbsp;</td>
                <td>A C++ common library.</td>
                <td><b>YES</b></td>
            </tr>
            <tr class="GuideTableBody">
                <td><b>VlppWorkflow.h/cpp</b></td>
                <td>Vlpp.h/cpp</td>
                <td>A strong typed script language designing for accessing reflectable C++ classes. <b>If you don't want the XML resource window feature, you don't need to add these files.</b></td>
                <td><b>YES</b></td>
            </tr>
            <tr class="GuideTableBody">
                <td><b>GacUI.h/cpp</b></td>
                <td>Vlpp.h/cpp</td>
                <td>Containing all the GUI features.</td>
                <td><b>NO</b></td>
            </tr>
            <tr class="GuideTableBody">
                <td><b>GacUIWindows.h.cpp</b></td>
                <td>GacUI.h/cpp</td>
                <td>Containing all features that interact with the Microsoft Windows.</td>
                <td><b>NO</b></td>
            </tr>
            <tr class="GuideTableBody">
                <td><b>GacUIReflection.h/cpp</b></td>
                <td>GacUI.h/cpp, VlppWorkflow.h/cpp</td>
                <td>Containing all features that need reflection, like loading windows from xml resource, data binding, etc. <b>If you don't want the XML resource window feature, you don't need to add these files.</b></td>
                <td><b>NO</b></td>
            </tr>
            <tr class="GuideTableBody">
                <td><b>GacGen.exe</b></td>
                <td></td>
                <td>C++ code generator from XML resource.</b></td>
                <td><b></b></td>
            </tr>
        </table>
        <p>
            Precompiled headers are recommended to use for a GacUI project. Adding these header files to your precompiled headers will speed up the compiling, especially for big projects. If you choose to use precompiled header, you need to add #include "stdafx.h" to those cpp files yourself.
        </p>
        <h1>See also ...</h1>
        <ul>
            @for (int index = 0; index < Model.TutorialTitles.Length; index++)
            {
                <li>Step @(index + 1). <a href="@Url.Action("GettingStart_" + (index + 1).ToString(), "Home")">@Model.TutorialTitles[index]</a></li>
            }
        </ul>
    </td>
</tr>
<script type="text/javascript">
    SyntaxHighlighter.all()
</script>